package com.aipartner.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * AI图片示例实体
 * 
 * @author AI Partner Team
 * @since 2024-01-20
 */
@Data
@TableName("ai_image_examples")
public class AiImageExample {
    
    /**
     * 主键ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;
    
    /**
     * 标题
     */
    private String title;
    
    /**
     * 图片URL
     */
    private String imageUrl;
    
    /**
     * 提示词
     */
    private String prompt;
    
    /**
     * 风格
     */
    private String style;
    
    /**
     * 尺寸
     */
    private String size;
    
    /**
     * 排序
     */
    private Integer sortOrder;
    
    /**
     * 状态：0-禁用，1-启用
     */
    private Integer status;
    
    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;
    
    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
    
    /**
     * 上传用户ID
     */
    private Long userId;
    
    /**
     * 上传时间
     */
    private LocalDateTime uploadTime;
    
    /**
     * 审核状态：0-待审核，1-已通过，2-已拒绝
     */
    private Integer reviewStatus;
    
    /**
     * 点赞数量
     */
    private Integer likeCount;
    
    /**
     * 查看次数
     */
    private Integer viewCount;
    
    /**
     * 是否精选：0-否，1-是
     */
    private Integer isFeatured;
    
    /**
     * 原始文件名
     */
    private String originalFilename;
    
    /**
     * 文件大小
     */
    private Integer fileSize;
    
    /**
     * 状态常量
     */
    public static final int STATUS_DISABLED = 0;
    public static final int STATUS_ENABLED = 1;
    
    /**
     * 审核状态常量
     */
    public static final int REVIEW_STATUS_PENDING = 0;
    public static final int REVIEW_STATUS_APPROVED = 1;
    public static final int REVIEW_STATUS_REJECTED = 2;
}
